A programmable logic controller (PLC) is typically used in industrial applications as the preferred device for controlling various input/output (I/O) devices connected to it. Ordinarily, the PLC is programmed with a logic language which provides an addressing scheme for each of the inputs and outputs in the control system. All of the inputs and outputs within the system must be addressed so that the PLC may correctly identify them in order to be able to control them. Once the devices have been identified to the PLC via these assigned addresses, the PLC may execute a program, such as an internal ladder logic program, to determine outputs generated by the PLC which are based on the status of inputs to the system. The ladder logic typically may be edited and/or viewed by an operator on a display screen attached to the PLC.
One manner of providing addresses to each of the inputs and outputs in the system is to arrange the I/O devices in remote racks, or clusters, and have the PLC address the devices by cluster and by position within the cluster. In such an arrangement, the clusters are strung out serially and the PLC coordinates communications with each of the clusters. Typically, the clusters are provided with DIP (dual in-line pole) switches, the positions of which are set to identify the cluster and the particular I/O devices attached to that cluster for the PLC. During start-up operations, a technician will set the DIP switches on a particular cluster according to a map containing addresses which have been allocated to all of the clusters in the system. This DIP switch means of assigning addresses is hardwired in the sense that the addressing scheme identifying each of the clusters to the PLC is held in the PLC memory.
The DIP switch method of assigning addresses to remote I/O clusters, however, presents problems in that the technician has no positive feedback to confirm that the setting he has made on a particular DIP switch is the correct setting. The only indicator provided is the position of the switches, and even that indication is typically given in binary form which must then be converted into a normal address number to be meaningful to the technician. If the technician assigns an incorrect address to the remote I/O cluster, or if the technician assigns the same address number to more than one I/O cluster, the system will not operate as designed.
In addition to being initially set in the wrong position, the DIP switches may be jostled during the course of operation which could adversely affect the initial settings. Further, the mechanical contacts associated with the DIP switches are subject to corrosion over time and thus the switch setting may be altered as the corrosion worsens over time. As a result of any of these conditions, the address identifier which is communicated from the I/O cluster to the PLC may be incorrect, thereby possibly disrupting communications and causing a failure condition within the system.
Another problem with such a PLC-based system is that PLCs do not provide an open communications bus such as that which a personal computer (PC) provides. In addition, software written for PCs is much more available than that written for PLCs. Thus, PLC based control systems are not as easily modified or expanded as PC-based systems. In addition, PCs are generally less expensive and offer more capabilities than PLCs.
Accordingly, there is a need for control system which is universally compatible with existing IEEE standard bus structures and protocols, which eliminates the problems of DIP switches, and which provides a flexible and easily verifiable addressing scheme. The need especially exists for communications networks which broadcast messages simultaneously to multiple or all devices on the network. It is therefore an object of the present invention to provide such a system which accepts,I/O devices on one end and connects to a standard bus on the other, which provides a topology which rapidly processes information provided by the, I/O devices, and which offers a software-based addressing scheme for the I/O devices connected thereto that provides confirmation of preselected addresses for a technician installing the system.